="333")筛选数据不准确,会晒出333以下的数据问题就发生在比较的时候,进行的是字符串大小的比较,直" />
mysql中三种比较字符串大小的方法 |
您所在的位置:网站首页 › vb 字符串之间可以比较大小吗怎么写 › mysql中三种比较字符串大小的方法 |
项目中发现一个bug SELECT points from table1 WHERE (JSON_EXTRACT(points,'$."27"')>="333")筛选数据不准确,会晒出333以下的数据 问题就发生在比较的时候,进行的是字符串大小的比较, 直接进行字符串比较会发生数据不准确的问题,需要手动转型 1.通过在字符串后面加0实现比较 语法:ORDER BY ‘123’+0; 示例: SELECT '123'+0>127; -- 结果为0,表示false SELECT '123'+0>12; -- 结果为1,表示true2.使用CAST()函数比较 语法:ORDER BY CAST(‘123’ AS SIGNED); 示例: SELECT CAST('123' AS SIGNED)>127; -- 结果为0,表示false SELECT CAST('123' AS SIGNED)>12; -- 结果为1,表示true3.使用CONVERT()函数比较 语法:ORDER BY CONVERT(‘123’,SIGNED); 示例: SELECT CONVERT('123',SIGNED)>127; -- 结果为0,表示false SELECT CONVERT('123',SIGNED)>12; -- 结果为1,表示true |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |